package com.example.dw.service;

import com.example.dw.dto.CertificateQueryDTO;
import com.example.dw.dto.NewsQueryDTO;
import com.example.dw.entity.*;

import java.util.List;
import java.util.Map;

/**
 * 首页服务接口
 * @author system
 * @since 2024-01-01
 */
public interface HomeService {

    /**
     * 获取热门课程
     */
    List<Course> getCourseByHot(Integer limit);

    /**
     * 获取精品课程
     */
    List<Course> getCourseByGood(Integer limit);

    /**
     * 获取最新活动
     */
    List<Activity> getActiveByNew(Integer limit);

    /**
     * 获取最新新闻
     */
    List<News> getNewsByNew(Integer limit);

    /**
     * 获取热门课程Web版（分页）
     */
    Map<String, Object> getCourseByHotWeb(Integer page, Integer size);

    /**
     * 获取精品课程Web版（分页）
     */
    Map<String, Object> getCourseByGoodWeb(Integer page, Integer size);

    /**
     * 获取最新活动Web版（分页）
     */
    Map<String, Object> getActiveByNewWeb(Integer page, Integer size);

    /**
     * 获取最新新闻Web版（分页）
     */
    Map<String, Object> getNewsByNewWeb(Integer page, Integer size);

    /**
     * 根据ID获取新闻
     */
    News getNewsById(Integer newsid);

    /**
     * 获取所有新闻统一接口（分页）
     */
    Map<String, Object> getAllNewsUni(NewsQueryDTO queryDTO);

    /**
     * 获取所有新闻（分页）
     */
    Map<String, Object> getAllNewsPage(Integer page, Integer size);

    /**
     * 获取跑马灯
     */
    List<HomeRund> getRunningText();

    /**
     * 获取通知
     */
    List<Notify> getNotifyList();

    /**
     * 获取镜像文章
     */
    String getMirror();

    /**
     * 获取镜像图片
     */
    String getMirrorImg();

    /**
     * 证书查询
     */
    List<Certificate> searchCertificate(CertificateQueryDTO queryDTO);

    /**
     * 获取公告
     */
    List<Bulletin> getBulletinList();
} 